package com.hospital.model;

/**
 * 患者实体类
 * 用于存储和管理患者的基本信息
 */
public class Patient {
    /**
     * 患者ID
     */
    private Integer patientId;
    
    /**
     * 患者姓名
     */
    private String patientName;
    
    /**
     * 患者性别
     */
    private char patientGender;
    
    /**
     * 患者年龄
     */
    private Integer patientAge;
    
    /**
     * 患者身份证号
     */
    private String patientIdCard;
    
    /**
     * 患者联系电话
     */
    private String patientPhone;
    
    /**
     * 病情描述
     */
    private String conditionDesc;
    
    /**
     * 主治医生工号
     */
    private String doctorId;

    /**
     * 默认构造函数
     */
    public Patient() {
    }

    /**
     * 带参数的构造函数
     * @param patientId 患者ID
     * @param patientName 患者姓名
     * @param patientGender 患者性别
     * @param patientAge 患者年龄
     * @param patientIdCard 患者身份证号
     * @param patientPhone 患者联系电话
     * @param conditionDesc 病情描述
     * @param doctorId 主治医生工号
     */
    public Patient(Integer patientId, String patientName, char patientGender, 
                  Integer patientAge, String patientIdCard, String patientPhone, 
                  String conditionDesc, String doctorId) {
        this.patientId = patientId;
        this.patientName = patientName;
        this.patientGender = patientGender;
        this.patientAge = patientAge;
        this.patientIdCard = patientIdCard;
        this.patientPhone = patientPhone;
        this.conditionDesc = conditionDesc;
        this.doctorId = doctorId;
    }

    /**
     * 获取患者ID
     * @return 患者ID
     */
    public Integer getPatientId() {
        return patientId;
    }

    /**
     * 设置患者ID
     * @param patientId 患者ID
     */
    public void setPatientId(Integer patientId) {
        this.patientId = patientId;
    }

    /**
     * 获取患者姓名
     * @return 患者姓名
     */
    public String getPatientName() {
        return patientName;
    }

    /**
     * 设置患者姓名
     * @param patientName 患者姓名
     */
    public void setPatientName(String patientName) {
        this.patientName = patientName;
    }

    /**
     * 获取患者性别
     * @return 患者性别
     */
    public char getPatientGender() {
        return patientGender;
    }

    /**
     * 设置患者性别
     * @param patientGender 患者性别
     */
    public void setPatientGender(char patientGender) {
        this.patientGender = patientGender;
    }

    /**
     * 获取患者年龄
     * @return 患者年龄
     */
    public Integer getPatientAge() {
        return patientAge;
    }

    /**
     * 设置患者年龄
     * @param patientAge 患者年龄
     */
    public void setPatientAge(Integer patientAge) {
        this.patientAge = patientAge;
    }

    /**
     * 获取患者身份证号
     * @return 患者身份证号
     */
    public String getPatientIdCard() {
        return patientIdCard;
    }

    /**
     * 设置患者身份证号
     * @param patientIdCard 患者身份证号
     */
    public void setPatientIdCard(String patientIdCard) {
        this.patientIdCard = patientIdCard;
    }

    /**
     * 获取患者联系电话
     * @return 患者联系电话
     */
    public String getPatientPhone() {
        return patientPhone;
    }

    /**
     * 设置患者联系电话
     * @param patientPhone 患者联系电话
     */
    public void setPatientPhone(String patientPhone) {
        this.patientPhone = patientPhone;
    }

    /**
     * 获取病情描述
     * @return 病情描述
     */
    public String getConditionDesc() {
        return conditionDesc;
    }

    /**
     * 设置病情描述
     * @param conditionDesc 病情描述
     */
    public void setConditionDesc(String conditionDesc) {
        this.conditionDesc = conditionDesc;
    }

    /**
     * 获取主治医生工号
     * @return 主治医生工号
     */
    public String getDoctorId() {
        return doctorId;
    }

    /**
     * 设置主治医生工号
     * @param doctorId 主治医生工号
     */
    public void setDoctorId(String doctorId) {
        this.doctorId = doctorId;
    }

    /**
     * 返回患者对象的字符串表示
     * @return 包含患者所有属性的字符串
     */
    @Override
    public String toString() {
        return "Patient{" +
                "patientId=" + patientId +
                ", patientName='" + patientName + '\'' +
                ", patientGender=" + patientGender +
                ", patientAge=" + patientAge +
                ", patientIdCard='" + patientIdCard + '\'' +
                ", patientPhone='" + patientPhone + '\'' +
                ", conditionDesc='" + conditionDesc + '\'' +
                ", doctorId='" + doctorId + '\'' +
                '}';
    }
} 